Open
Conversation
All these `AttributeError`s weren't actually working, I get `KeyError`
instead:
```
Python 3.12.11 (main, Jun 3 2025, 15:41:47) [GCC 14.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import configparser
>>> conf = configparser.ConfigParser()
>>> conf['tv']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/nix/store/qlz1jypzdb320jp0ci0igxg2ghf0974d-python3-3.12.11/lib/python3.12/configparser.py", line 941, in __getitem__
raise KeyError(key)
KeyError: 'tv'
```
Perhaps this changed in some version of Python? I opted to write
explicit `if 'tv' in conf:` style guards instead. I would have used `conf.get('tv',
None)`, but the `ConfigParser` api unfortunately is not exactly like
python dicts.
I also fixed a confusing error that would happen if the given config
file did not exist. We'd initialize `conf` to `None`, and then go on to
crash trying to read attributes of the now-`None` `conf`. Now we log a
warning and carry on.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
All these
AttributeErrors weren't actually working, I getKeyErrorinstead:Perhaps this changed in some version of Python? I opted to write explicit
if 'tv' in conf:style guards instead. I would have usedconf.get('tv', None), but theConfigParserapi unfortunately is not exactly like python dicts.I also fixed a confusing error that would happen if the given config file did not exist. We'd initialize
conftoNone, and then go on to crash trying to read attributes of the now-Noneconf. Now we log a warning and carry on.